Various systems exist for distribution of files over the Internet upon or other networks. With these systems, a user requests to download a particular software file, and the corresponding system transmits the file to the user's machine. The transmission may occur using conventional protocols for distribution of information over the Internet. If the transmission becomes interrupted due to, for example, loss of the network connection, the user must manually request to download the file again, and typically must attempt to download the entire file. Some particular systems exist for transmitting only a portion of a file. However, the systems are often specific to a particular network and require manual interaction by the user as well.
In addition, after downloading the software file, a user is not necessarily informed of any updates to the file. Software is frequently updated in order to provide a new version of it and add additional features or change features based on user feedback. However, a user who downloads the software file does not necessarily receive any updates of the software unless the user specifically and manually updates it. Upon requesting an update, a server does not necessarily know the exact version of the software file that the user has and thus does not necessarily know which particular update to provide for that file.
Accordingly, a need exists for improved systems for distribution of digital information and for providing updates to files.